The number of smartphone users is increasing rapidly. As a consequence, the traffic generated by smartphone applications occupies the most part of the entire network traffic. Such traffic includes the messages generated by users and control messages associated with the operations of the applications. The control messages are generated for 24 hours a day at a relatively short interval even when the user does not use the applications.
Recently, various smartphone applications are introduced to the users. Among them, the most popular applications are Social Network Service (SNS), Instant Messenger (IM), and Mail service applications. Examples of the popular applications include kakaotalk, facebook, twitter, mypeople, gmail, etc.
Such applications are classified into one of two categories, i.e. Push service and Pull service types, depending on the network communication mode. According to the push service type, when user data occurs in network, the service initiates connection to send the data to the user in real time. An IM application responsible for communication between users is delay sensitive so as to be implemented in the push service type. In contrast, according to the pull service type, the terminal accesses the server periodically to receive the user data occurred in the network. The social network services are non-delay sensitive so as to be implement in the pull service type.
In order to providing the push service in the cellular network, a Transmission Control Protocol (TCP) session has to be established between the terminal and the application server. The cellular network assigns an internal network address to the network using Network Address Translation (NAT). Accordingly, the server outside the cellular network cannot know the public IP address of the terminal. When user data occurs, it is necessary to establish a TCP connection in order for the server to transmit the data to the terminal. However, since the server located outside the cellular network does not know the IP address of the terminal, it is impossible to establish a TCP session for data transmission. Accordingly, the terminal and the server maintain the TCP session constantly to provide the push service in the cellular network. For this purpose, the terminal sends the server a connection maintenance message or keepalive message periodically.
In the pull service mode, the terminal connects to the server at a predetermined time and/or periodically to check existence of any user update data. If there is any update data, the terminal brings the data from the server. Since the terminal initiates the TCP session in the pull service, there is no need of maintaining the TCP session. However, there is periodic TCP session setup cost of the terminal.
FIG. 1 is a diagram illustrating network architecture for application service according to a conventional method.
Referring to FIG. 1, the network includes a terminal 110 and application services 120, 130, and 140 in the conventional method. In any of the push and pull service methods, the terminal 110 generates control messages to the service servers 120, 130, and 140 periodically regardless of application manipulation of the user. Typically, since a plurality of applications installed in the terminal and the smartphone users increases in number, the control messages causes overburden to the cellular network. In the following, the message generated by the user manipulation is referred to as user message, and the message generated periodically independently of the user manipulation is referred to as control message.
In the push service mode, the corresponding applications establish TCP sessions with the respective application server 120, 130, and 140 and exchange Keepalive messages to maintain the sessions. In the pull service mode, the corresponding applications perform periodic polling to the respective application servers 120, 130, and 140. In order to solve this problem, coordination servers such as Android Cloud to Device Messaging (C2DM) server and Apple Push Notification Service (APNS) server have been introduced.
The coordination server such as APNS and C2DM servers makes it possible to substitute one TCP session for the TCP sessions between the terminal and several application servers in the cellular network. For example, the polling-based application which brings user update data periodically is capable of transmitting the control message for polling even when there is no user update.
Another problem is that the applications have to be modified to use the coordination server such as APNS and C2DM servers. The application servers and the applications installed in the terminal have to be provided with the interfaces for communication with the coordination server. This causes the necessity of cooperation with the application manufacturers.
The network provider may be interested in such solutions to reduce the network load. The terminal manufacturer may be interested in such solutions to reduce battery consumption. However, the application manufacturer may be relatively less interested in this problem and thus be uncooperative for solving the problem. There is therefore a need of a method capable of solving this problem without modification of applications.